package view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
/**
 * Diese Klasse erstellt ein vorgefertigten Fehler-PopUp und erbt von JDialog.
 * Bei diesem kann die Fehlermeldung beliebig definiert werden.
 * 
 * 
 * @author Mark Stegnjajic
 *
 */
public class Fehlerpopup extends JDialog{
	
	private JLabel fehlerLabel;
	private JButton btnclose;

	/**
	 * Konstruktor
	 * 
	 * @param fehlerText
	 */
    public Fehlerpopup(String fehlerText){
	super();
	this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	this.setAlwaysOnTop(true);
	this.setTitle("Fehler!");
	this.setLayout(new BorderLayout());
	this.setFrameCenter(400, 100);
	erstellen(fehlerText);
	this.setAlwaysOnTop(true);
	this.pack();
	this.setVisible(true);
	
    }
  
    /**
     * FehlerPopUp wird erstellt.
     * 
     * @param fehlerText
     */
    private void erstellen(final String fehlerText) {
    	JPanel panel = new JPanel(new FlowLayout());
		fehlerLabel= new JLabel(fehlerText);
		panel.add(fehlerLabel);
		this.add(panel,BorderLayout.CENTER);
		
		btnclose = new JButton("OK");
		btnclose.setPreferredSize(new Dimension(100,25));
		btnclose.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				if(fehlerText.equals("Sind sie sicher?")){
					System.exit(0);
				}
				dispose();
			}
		});
		
		this.add(btnclose,BorderLayout.SOUTH);
		
    }
    
    /**
     * Siehe MainView.
     * 
     * @param x
     * @param y
     */
    private void setFrameCenter(int x, int y) {
		Dimension frameSize = new Dimension(x, y);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

		int top = (screenSize.height - frameSize.height) / 2;
		int left = (screenSize.width - frameSize.width) / 2;

		this.setPreferredSize(frameSize);
		this.setLocation(left, top);

	}
}
